Linux中hugepage的使用方法 | 您所在的位置:网站首页 › huge pages on linux › Linux中hugepage的使用方法 |
Linux中hugepage的使用方法
Linux中使用hugepage有两种方法,分别是 hugetlb transparent huge page (THP)其中,hugetlb基于显式分配并保留的大页,而THP按需将内存转换成大页,无需提前保留,提供更加灵活、对系统其他部分影响更小的大页使用方式。 Hugetlb使用方法 分配大页默认size大页 echo N > /proc/sys/vm/nr_hugepages将试图分配N个大页,页面大小是默认的(一般是2MB)。如果原来保留的页面个数大于N,那么将会释放多出来的页面。如果连续内存不够将保留页面数上升到N,则尽最大努力分配。 cat /proc/sys/vm/nr_hugepages可以查看保留页面个数。 在指定的NUMA结点试图分配N个指定页面大小的hugepage,修改或读取文件:/sys/devices/system/node/node/hugepages/hugepages-/nr_hugepages NUMA结点无关的指定页面大小的hugepage:/sys/kernel/mm/hugepages/hugepages-1048576kB/。如果直接写该文件来提升页面个数,将重复依次在各个NUMA结点试图分配一个页面(node0, node1, node2, node3, ..., node0, node1, node2, node3, ...)直到满足或不可进一步分配,例如: 在每个node资源充足的情况下,将均匀分配页面到各个node。 若只有一个node可以分配大页,则大页全部分配到该node上。 若所有node可分配大页的内存总量之和仍不能满足N,则每个node尽最大努力分配大页。 使用大页这里仅介绍mmap使用大页的方法。 在mmap的flag中添加MAP_HUGETLB和。其中,为((N & MAP_HUGE_MASK) |
CopyRight 2018-2019 实验室设备网 版权所有 |